#ifndef ENTITY_CHARACTER_H
#define ENTITY_CHARACTER_H

#include "cocos2d.h"
#include "../../ugame/include/ugame.h"
#include "../../util/include/util.h"
#include "../../listener/include/listener.h"
#include <cmath>

USING_NS_CC;

using namespace ugame;

class EntityCharacter : public Ref {
    UG_PROPERTY_FULL(int, characterId, CharacterId);
    UG_PROPERTY_FULL(int, maxLevel, MaxLevel);
    UG_PROPERTY_FULL(std::string, name, Name);
    UG_PROPERTY_FULL(std::string, avatarImage, AvatarImage);
    UG_PROPERTY_FULL(BigNumber*, cost, Cost);
    UG_PROPERTY_FULL(double, attackTime, AttackTime);
    UG_PROPERTY_FULL(BigNumber*, dps, Dps); // damage per seconds
    UG_PROPERTY_FULL(BigNumber*, maxDps, MaxDps);
    UG_PROPERTY_GETTER(__Array*, avatars, Avatars);
private:
    EntityCharacter();
    virtual ~EntityCharacter();
    virtual bool init();
public:
    CREATE_FUNC(EntityCharacter);
};

#endif /* OBJ_H */
